interface IOptionProps {
    label:string;
    value:string;
}

type Taction = {
    url:string,
    method:string,
    contentType?:string   // application/x-www-form-urlencoded   , form-data  
}
export interface IActionsProps {
    add?:Taction,
    edit?:Taction
}

type ItypeName = 'text' | 'datepicker' | 'treeselect' | 'select' | 'number' | 'password' | 'radio'; 
export interface IFormProps {
    label:string;   // 表单的title
    name:string;
    type:ItypeName;
    width?:string;
    rowKey?:string;    // 当前修改的数据的关键的key
    
    initval?:any;   // 初始值
    render?:any;    // 额外的渲染数据
    depend?:any;     // 表单项目依赖项目
    show?:boolean;     // 控制表单的显示 或者隐藏 ,依赖
    
    rules?:any,

    // rules:[{
    //     pattern:/^\d*$/,
    //     msg:'你输入的格式不正确'
    // }]

    disabled?:boolean | string;  // 是否需要disabled
    readOnly?:boolean,
     //  form表中集成 了 图片上传的时候需要使用
    uploadApi?:{
        name:string;
        url:string
    }
    component?:any,  // 组件
    mode?:'multiple' | 'tags' , // 默认是tags
    
    options?:IOptionProps[];   // 下拉表单项目
    fieldNames?:IOptionProps;    // 下拉表单的label ,value指定

    dataformat?:string,   //处理处理特殊数据类型  
    // 下拉小单调接口的配置项
    optionApi?:{
        url:string;
        method:string;
        data?:any
    }
}